
#pragma once
#include <d3dx9.h>
#include "../TwEngineDx.h"
#include "../TwHeadFile.h"

class TwSkyBox _BaseClass_(TwRefRoot)
{

public:
	void Init();

	void Update();

	void Render();

	void Clear();

	TwSkyBox()
	:m_pMesh(0),m_pkeffect(0),m_pktechnique(0),m_pSkyTextures(0)
	{};
	virtual ~TwSkyBox(){};
protected:
	LPD3DXMESH m_pMesh;
 
	D3DXVECTOR4 m_uvScaleOffset;

	D3DMATERIAL9* m_pkmaterial;    // define the material object
	DWORD m_numMaterials;    // stores the number of materials in the mesh

	// effect declarations
	LPD3DXEFFECT m_pkeffect;    // define the effect pointer
	D3DXHANDLE   m_pktechnique;    // define the handle for the best technique
	LPDIRECT3DTEXTURE9  m_pSkyTextures;
	LPDIRECT3DTEXTURE9  m_pSkyTextures1;

	// Unimplemented Functions...
	TwSkyBox(const TwSkyBox& Src);
	TwSkyBox& operator=(const TwSkyBox& Src);
};
